//
//  NSDate+Extension.swift
//  weiboZY
//
//  Created by 赵勇 on 16/5/16.
//  Copyright © 2016年 赵勇. All rights reserved.
//

import UIKit

extension NSDate {
    
    
    class func sinaDate(createdAt:String) -> NSDate {
        
        let dateFormatter = NSDateFormatter()
        // 指定本地信息
        dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
        // 格式化时间
        dateFormatter.dateFormat = "EEE MMM dd HH:mm:ss z yyyy"
        
        let createdAtDate = dateFormatter.dateFromString(createdAt)!
        
        return createdAtDate
    }
    
    var sinaDateString: String? {
        
        let dateFormatter = NSDateFormatter()
        // 指定本地信息
        dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
        
        if isThisYear(self) {
            
            let calendar = NSCalendar.currentCalendar()
            // 判断是不是今天
            if calendar.isDateInToday(self) {
                
                // 获取发布微博时间与当前的时间差
                let timeInterVal = abs(self.timeIntervalSinceNow)
                
                if timeInterVal < 60 {
                    
                    return "刚刚"
                } else if timeInterVal < 3600 {
                    let result = Int(timeInterVal) / 60
                    return "\(result)分钟前"
                } else {
                    let result = Int(timeInterVal) / 3600
                    return "\(result)小时前"
                }
                
            } else if calendar.isDateInYesterday(self) {
                // 昨天
                dateFormatter.dateFormat = "昨天 HH:MM"
            } else {
                
                dateFormatter.dateFormat = "MM-dd HH:MM"
            }
            
            
        } else {
            // 不是今年
            dateFormatter.dateFormat = "yyyy-MM-dd HH:MM"
        }
        
        
        return dateFormatter.stringFromDate(self)
    }
    
    // 根据发微博的时间判断是否是今年
    private func isThisYear(createdAtDate:NSDate) -> Bool {
        // 获取当前时间
        let currentDate = NSDate()
        let dateFormatter = NSDateFormatter()
        dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
        dateFormatter.dateFormat = "yyyy"
        // 获取当前的年份
        let currentDateYear = dateFormatter.stringFromDate(currentDate)
        // 获取微博数据时间
        let createdAtDateYear = dateFormatter.stringFromDate(createdAtDate)
        
        return currentDateYear == createdAtDateYear
        
    }

    
}
















